Type Sub-primitives

change-type (object) => result Change the type of an object according to codegen info. The meaning of this is highly type-system dependent, but it doesn't matter, since the compiler will never emit this VOP directly. The only way that it can show up is through get-type

Storage resources:

Boxed and unboxed locations: Non-immediate objects may not be stored in unboxed locations. Things not lisp objects may not be stored in boxed locations.

Control stack is boxed. Optional number stack is unboxed. Heap environment is boxed. Fixed number of registers, some boxed and some unboxed.

PCs may be stored on the control stack or in boxed registers, subject to the constraint that a corresponding environment is also stored. Locations containing PCs don't need to be zeroed when they are no longer used; nothing bad will happen if an old PC is unaccompanied by an environment.

[Trap]Illegal object trap. This value is used in symbols to signify an undefined value or definition.